Linux 文件系统是操作系统的关键组成部分,为存储设备上的数据存储、组织和访问提供了一种结构化的方式。它基于分层目录结构,理解其布局对于有效使用 Linux 至关重要。以下是一个概述:
1. 分层目录结构
- 根目录 (
/
):Linux 文件系统中的顶级目录。每个文件和目录都从根目录开始。 - 子目录:包括
/bin
、/boot
、/dev
、/etc
、/home
、/lib
、/media
、/mnt
、/opt
、/proc
、/root
、/sbin
、/srv
、/sys
、/tmp
、/usr
和/var
。
2. 关键目录解释
简称 | 全称 | 用途 |
---|---|---|
/ | Root Directory | 根目录,是整个文件系统的起点,所有文件和目录都从这里开始。 |
/bin | Binaries | 存放基本的用户命令的二进制文件,如 ls、cat、mkdir 等,普通用户和超级用户均可使用。 |
/boot | Boot Loader Files | 存放引导加载程序文件(如 grub)、内核文件(如 vmlinuz)等,用于系统启动。 |
/dev | Device Files | 包含所有设备文件(如硬盘 /dev/sda、终端 /dev/tty 等),用于与硬件设备交互。 |
/etc | Configuration Files | 存放系统和服务的配置文件,如 passwd、hosts、resolv.conf 等。 |
/home | Home Directories | 每个普通用户的主目录所在的位置,例如 /home/user。 |
/lib | Libraries | 存放系统运行时所需的共享库文件和内核模块,主要供 /bin 和 /sbin 下的程序使用。 |
/media | Removable Media | 挂载点目录,用户用来挂载可移动存储设备(如 U 盘、CD-ROM)。 |
/mnt | Mount | 临时挂载点,供管理员手动挂载文件系统使用。 |
/opt | Optional Packages | 可选的附加应用程序或软件包通常安装在此目录中。 |
/proc | Process Information | 虚拟文件系统,存放内核和进程相关信息,例如 /proc/cpuinfo 显示 CPU 信息。 |
/root | Root Home Directory | 超级用户(root)的主目录。 |
/run | Runtime Data | 存放系统启动后运行时产生的临时数据,如 PID 文件、套接字等。 |
/sbin | System Binaries | 存放系统管理命令和工具(如 reboot、fdisk),主要由超级用户使用。 |
/srv | Service Data | 存放一些服务(如 HTTP、FTP)运行时使用的数据。 |
/sys | System Information | 虚拟文件系统,提供内核、硬件设备的信息和接口。 |
/tmp | Temporary Files | 临时文件目录,系统重启后会被清空。 |
/usr | User Programs | 存放用户安装的共享数据、库文件和程序,如 gcc、python,以下是其子目录: |
- /usr/bin | 存放普通用户使用的程序。 | |
- /usr/sbin | 存放系统管理程序。 | |
- /usr/lib | 存放共享库文件。 | |
- /usr/local | 存放本地编译安装的软件和文件,不受系统包管理控制。 | |
/var | Variable Data | 存放经常变动的文件,如日志文件(/var/log)、缓存文件(/var/cache)和邮件队列(/var/mail)。 |
/bin
:包含在引导过程或进行系统修复和恢复时所需的基本二进制可执行文件(程序)。/boot
:存放系统引导所需的文件,包括 Linux 内核、RAM 磁盘映像和引导加载程序配置文件(如 GRUB)。/dev
:包含代表硬件组件的设备文件。/etc
:存储系统级配置文件和脚本。/home
:普通用户的家目录。/lib
:必要的共享库和内核模块。/media
和/mnt
:分别用于移动媒体设备(如 CD-ROM、USB 驱动器)和临时挂载文件系统的挂载点。/opt
:可选的应用软件包。/proc
:虚拟文件系统,提供进程和内核信息。主要用于系统和进程状态查询。/root
:根用户(系统管理员)的家目录。/sbin
:包含系统管理二进制文件。/srv
:存储系统提供的数据。/sys
:提供关于系统和连接硬件的信息的接口。/tmp
:临时文件(通常在重启时清除)。/usr
:用户数据的次级层次结构;包含大多数(多用户)实用程序和应用程序。/var
:可变数据,如日志、数据库、电子邮件和网页。
3. 文件系统类型
Linux 支持多种文件系统类型,如 ext3、ext4、xfs、btrfs 等。这些文件系统在特性、性能特征以及在磁盘上组织数据的方式上各不相同。
4. 权限和所有权
- Linux 中的每个文件和目录都有相关的权限和所有权,这些权限和所有权控制着用户和组的访问级别。
- 权限包括读取(r)、写入(w)和执行(x)。
5. 符号链接和硬链接
- 符号链接:指向另一个文件或目录的快捷方式或引用。它可以链接到不同文件系统上的文件/目录。
- 硬链接:表现得像文件的副本,但不占用额外空间。它指向与原始文件相同的 inode。